package sudoku.Vista;


/**
 * Esta clase representa un campo en el Sudoku
 *
 */
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.JLabel;


public class Campo extends JLabel{
    private int x;
    private int y;
    
    /**
     * Constructor del campo en la posicion X e Y del juego.
     *
     * @param x     Posicion X en el juego.
     * @param y     Posicion Y en el juego.
     */
    public Campo(int x, int y){
        super(" ", CENTER);
        this.x=x;
        this.y=y;
                
        setPreferredSize(new Dimension(40,40));
        setBorder(BorderFactory.createLineBorder(Color.GRAY));
        setFont(new Font(Font.DIALOG, Font.PLAIN, 20));
        setOpaque(true);        
    }
    
    /**
     * Setea numero y color de fondo de acuerdo a entradaUsuario
     * 
     * @param numero           Numero a poner.
     * @param entradaUsuario   Boolean indicando si fue entrada de usuario o no.
     */
    public void setNumero(int numero, boolean entradaUsuario ){
        setForeground(entradaUsuario ? Color.BLUE : Color.BLACK);
        setText(numero>0 ?  numero + "" : "");
    }
    
    /**
     * Devuelve posicion X en el juego
     * 
     * @return  X, posicion en el juego.
     */
    public int getCampoX(){
        return x;
    }

    /**
     * Devuelve posicion Y en el juego
     * 
     * @return  Y, posicion en el juego.
     */
    public int getCampoY(){
        return y;
    }
}